import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App.vue'
import router from './router'
import './style.css'
import * as echarts from 'echarts';
import { hasRole, hasAnyRole, isAdmin, isEnterprise, isGuest, getRoleText } from './utils/permission'

Vue.prototype.$echarts = echarts

// 注册全局权限判断方法
Vue.prototype.$hasRole = hasRole
Vue.prototype.$hasAnyRole = hasAnyRole
Vue.prototype.$isAdmin = isAdmin
Vue.prototype.$isEnterprise = isEnterprise
Vue.prototype.$isGuest = isGuest
Vue.prototype.$getRoleText = getRoleText

// 导入自定义消息组件
import Message from './components/Message.vue'

// 全局配置 - 正确配置ElementUI
Vue.use(ElementUI, {
  size: 'small',
  zIndex: 3000
})

// 注册自定义消息组件
Vue.use(Message)

// 全局错误处理
Vue.config.errorHandler = function(err, vm, info) {
  console.error('Vue Error:', err, info)
  Vue.prototype.$message.error('系统发生错误，请稍后重试')
}

// 全局API配置
import request from './api/request'
Vue.prototype.$http = request

// 创建Vue实例
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})
